package com.sh.apigateway.service;


import com.google.gson.Gson;
import com.sh.apicommon.common.ErrorCode;
import com.sh.apicommon.exception.BusinessException;
import com.sh.apigateway.model.UpdateInvokeToJMS;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.stereotype.Service;

@Service
@Slf4j
public class InvokeCountToJms {

    @Resource // 自动注入 JmsTemplate 实例
    private JmsTemplate jmsTemplate;

    @Value(value = "${invokeCountToJMS}") // 从配置文件中注入队列名称
    private String queueName;
    public void send(long userId, long interfaceInfoId) {
        if (userId < 0 || interfaceInfoId < 0) {
            throw new BusinessException(ErrorCode.PARAMS_ERROR, "用户或接口信息不存在");
        }
        Gson gson = new Gson();
        UpdateInvokeToJMS updateInvokeToJMS = new UpdateInvokeToJMS(userId, interfaceInfoId);
        String json = gson.toJson(updateInvokeToJMS);
        jmsTemplate.convertAndSend(queueName, json);
        log.info("发送消息到消息队列:::"+ json);
    }


}
